//app.js
let {
  WeToast
} = require('pages/template/toast/wetoast.js') // 返回构造函数，变量名可自定义
let api = require("requests/api.js");
let util = require('utils/util.js');
let cache = require('utils/cache.js');

App({
  WeToast,
  onLaunch: function() {
    //调用API从本地缓存中获取数据
    var endUser = wx.getStorageSync('endUser')
    if (endUser != null && endUser != '') {
      cache.endUser = endUser
    }
    this.getResources()
    //调用登录接口
    wx.login({
      success: (ev) => {
        var code = ev.code
        this.code2Session(code)
      }
    })

  },
  code2Session: function(code) {
    var params = {
      code: code
    }
    api.post_code2Session(params, (res) => {
      console.log(res)
      if (res.data) {
        wx.setStorage({
          key: 'openId',
          data: res.data.openId
        })
      }
    }, () => {

    }, () => {

    });
  },
  globalData: {
    route: '',
    launch: true,
    getCoupon: false
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    if (wx.getUpdateManager) {

      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function(res) {
        // 请求完新版本信息的回调
        console.log('11111111111111111111111111111111' + res.hasUpdate)
      })

      updateManager.onUpdateReady(function() {
        wx.showModal({
          title: '更新提示',
          content: '新版本已经准备好，是否重启应用？',
          success: function(res) {
            if (res.confirm) {
              // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
              updateManager.applyUpdate()
            }
          }
        })

      })

      updateManager.onUpdateFailed(function() {
        // 新的版本下载失败
      })
    }
  },

  //获取用户配置信息
  getResources: function() {
    var versionNum = wx.getStorageSync('versionNum')
    var params = {}
    if (versionNum != null && versionNum != "") {
      params = {
        versionNum: versionNum
      }
    }
    api.getResources(params, (res) => {
      console.log(res)
      if (res.data) {
        wx.setStorage({
          key: 'versionNum',
          data: res.data.versionNum
        })
        wx.setStorage({
          key: 'csPhone',
          data: res.data.map.csPhone
        })

      }


    }, () => {

    }, () => {

    });
  },

  isNeedLogin: function() {
    if (cache.endUser.sessionToken == "") {
      return true
    } else {
      return false
    }
  },
  getProductQtyInCart: function() {
    return cache.endUser.productQtyInCart
  },
  setProductQtyInCart: function(count) {
    cache.endUser.productQtyInCart = count
  },
  toLogin: function() {
    if (this.isNeedLogin()) {
      wx.navigateTo({
        url: '/pages/common/login/login',
      });
      return true
    } else {
      return false
    }
  }
})